/* eslint-disable @typescript-eslint/no-explicit-any */
/**
 * 创建延迟的工具函数
 * @param ms 延迟时间（毫秒）
 */
function createDelay(ms: number): Promise<void> {
  return new Promise((resolve) => setTimeout(resolve, ms))
}

/**
 * 随机延迟工具函数
 * @param min 最小延迟时间（毫秒）
 * @param max 最大延迟时间（毫秒）
 */
function createRandomDelay(min: number, max: number): Promise<void> {
  const ms = Math.random() * (max - min) + min
  return createDelay(ms)
}

// 添加到全局对象
;(global as any).delay = createDelay
;(global as any).randomDelay = createRandomDelay

// 全局类型声明
declare global {
  function delay(ms: number): Promise<void>
  function randomDelay(min: number, max: number): Promise<void>
}

// 导出供其他地方使用
export { createDelay as delay, createRandomDelay as randomDelay }
